package com.thh.datamonitor.service;

import java.util.List;

import com.thh.datamonitor.dto.TmdUserDatabaseDto;
import com.thh.datamonitor.dto.TmdUserDatabaseQueryDto;
import com.thh.datamonitor.entity.TmdUserDatabase;

/**
 * 用户和数据库绑定Service接口
 * 
 * @author thh
 * @date 2022-06-23
 */
public interface ITmdUserDatabaseService 
{
    /**
     * 查询用户和数据库绑定
     * 
     * @param userDatabaseId 用户和数据库绑定主键
     * @return 用户和数据库绑定
     */
    public TmdUserDatabase selectTmdUserDatabaseByUserDatabaseId(Long userDatabaseId);

    /**
     * 查询用户和数据库绑定列表
     * 
     * @param tmdUserDatabaseQueryDto 用户和数据库绑定
     * @return 用户和数据库绑定集合
     */
    public List<TmdUserDatabaseDto> selectTmdUserDatabaseList(TmdUserDatabaseQueryDto tmdUserDatabaseQueryDto);

    /**
     * 新增用户和数据库绑定
     * 
     * @param tmdUserDatabase 用户和数据库绑定
     * @return 结果
     */
    public int insertTmdUserDatabase(TmdUserDatabase tmdUserDatabase);

    /**
     * 修改用户和数据库绑定
     * 
     * @param tmdUserDatabase 用户和数据库绑定
     * @return 结果
     */
    public int updateTmdUserDatabase(TmdUserDatabase tmdUserDatabase);

    /**
     * 批量删除用户和数据库绑定
     * 
     * @param userDatabaseIds 需要删除的用户和数据库绑定主键集合
     * @return 结果
     */
    public int deleteTmdUserDatabaseByUserDatabaseIds(String userDatabaseIds);

    /**
     * 删除用户和数据库绑定信息
     * 
     * @param userDatabaseId 用户和数据库绑定主键
     * @return 结果
     */
    public int deleteTmdUserDatabaseByUserDatabaseId(Long userDatabaseId);

    /**
     * 查询用户和数据库绑定信息
     *
     * @param tmdUserDatabaseQueryDto 用户和数据库绑定主键
     * @return 结果
     */
    List<TmdUserDatabaseDto> selectMyUserDatabaseList(TmdUserDatabaseQueryDto tmdUserDatabaseQueryDto);
}
